Methods and systems for modifying a search result

ABSTRACT

Methods and systems for modifying a search result are described. A computing device may receive a query. A search result based on the query may be determined. The computing device may modify the search result based on a term of the query.

BACKGROUND

A user may utilize a search function to search for desired information,such as a search engine or a search function associated with a website,and the search function may present results that are most likely toprovide the desired information to the user. However, the results of thesearch may use words or terminology that are unfamiliar to the user orthat are different from the words the user entered as a query. Thus, theuser may not know if the search results actually provide the desiredinformation, or if the search function merely provided a search resultthat is irrelevant to the user.

SUMMARY

It is to be understood that both the following general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive. Methods and systems are described for modifyingsearch results. A user may submit a query to a search function of acomputing device, and the computing device may determine a searchresult(s) based on the query. Text of the search result(s) (e.g.,hyperlinks or other text indicative of a search result) may be modifiedbased on the query to provide the user the search result in terms theuser may better understand. Thus, while a query for “internet notworking” may generate search results related to cable modems, personalcomputing devices, wireless routers, and the like, the text of thesearch results (e.g., titles of the results, hyperlinks, descriptionsfor the results, etc.) may be modified to more closely align with thequery. A search result having text such as “cable modem” may be replacedwith “internet not working,” “internet solutions,” or the like.Artificial Intelligence (AI), such as machine learning and/or naturallanguage processing, may be utilized to determine one or more terms tomodify. This summary is not intended to identify critical or essentialfeatures of the disclosure, but merely to summarize certain features andvariations thereof. Other details and features will be described in thesections that follow.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, show examples and together with thedescription, serve to explain the principles of the methods and systems:

FIG. 1 shows a system for modifying terminology;

FIG. 2 shows a user interface for search results;

FIG. 3 shows a user interface for search results;

FIG. 4 shows a user interface for search results;

FIG. 5 shows a user interface for search results;

FIG. 6 shows a flowchart of a method for modifying terminology;

FIG. 7 shows a flowchart of a method for modifying terminology;

FIG. 8 shows a flowchart of a method for modifying terminology; and

FIG. 9 shows a block diagram of a computing device for modifyingterminology.

DETAILED DESCRIPTION

As used in the specification and the appended claims, the singular forms“a,” “an,” and “the” include plural referents unless the context clearlydictates otherwise. Ranges may be expressed herein as from “about” oneparticular value, and/or to “about” another particular value. When sucha range is expressed, another configuration includes from the oneparticular value and/or to the other particular value. Similarly, whenvalues are expressed as approximations, by use of the antecedent“about,” it will be understood that the particular value forms anotherconfiguration. It will be further understood that the endpoints of eachof the ranges are significant both in relation to the other endpoint,and independently of the other endpoint.

“Optional” or “optionally” means that the subsequently described eventor circumstance may or may not occur, and that the description includescases where said event or circumstance occurs and cases where it doesnot.

Throughout the description and claims of this specification, the word“comprise” and variations of the word, such as “comprising” and“comprises,” means “including but not limited to,” and is not intendedto exclude, for example, other components, integers or steps.“Exemplary” means “an example of” and is not intended to convey anindication of a preferred or ideal configuration. “Such as” is not usedin a restrictive sense, but for explanatory purposes.

It is understood that when combinations, subsets, interactions, groups,etc. of components are described that, while specific reference of eachvarious individual and collective combinations and permutations of thesemay not be explicitly described, each is specifically contemplated anddescribed herein. This applies to all parts of this applicationincluding, but not limited to, steps in described methods. Thus, ifthere are a variety of additional steps that may be performed it isunderstood that each of these additional steps may be performed with anyspecific configuration or combination of configurations of the describedmethods.

As will be appreciated by one skilled in the art, hardware, software, ora combination of software and hardware may be implemented. Furthermore,a computer program product on a computer-readable storage medium (e.g.,non-transitory) having processor-executable instructions (e.g., computersoftware) embodied in the storage medium. Any suitable computer-readablestorage medium may be utilized including hard disks, CD-ROMs, opticalstorage devices, magnetic storage devices, memresistors, Non-VolatileRandom Access Memory (NVRAM), flash memory, or a combination thereof.

Throughout this application reference is made block diagrams andflowcharts. It will be understood that each block of the block diagramsand flowcharts, and combinations of blocks in the block diagrams andflowcharts, respectively, may be implemented by processor-executableinstructions. These processor-executable instructions may be loaded ontoa general purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe processor-executable instructions which execute on the computer orother programmable data processing apparatus create a device forimplementing the functions specified in the flowchart block or blocks.

These processor-executable instructions may also be stored in acomputer-readable memory that may direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the processor-executable instructions stored in thecomputer-readable memory produce an article of manufacture includingprocessor-executable instructions for implementing the functionspecified in the flowchart block or blocks. The processor-executableinstructions may also be loaded onto a computer or other programmabledata processing apparatus to cause a series of operational steps to beperformed on the computer or other programmable apparatus to produce acomputer-implemented process such that the processor-executableinstructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowcharts supportcombinations of devices for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowcharts, andcombinations of blocks in the block diagrams and flowcharts, may beimplemented by special purpose hardware-based computer systems thatperform the specified functions or steps, or combinations of specialpurpose hardware and computer instructions.

This detailed description may refer to a given entity performing someaction. It should be understood that this language may in some casesmean that a system (e.g., a computer) owned and/or controlled by thegiven entity is actually performing the action.

Search engines provide a powerful tool for locating documents, files orinformation, such as the documents, files, or websites on the World WideWeb (WWW), or the documents or files stored on the computers of anintranet. The documents, files, or websites are located in response to asearch query submitted by a user via a user device. A search query mayinclude one or more search terms or phrases. After the search query isreceived, the search engine processes the search query, searches fordocuments, files, or websites responsive to the search query, andreturns a list of search results (e.g., documents, files, websites,etc.) to the user. The search results may take many forms. Each searchresult may have text (e.g., a title, a snippet about the search result,a hyperlink, etc.) that describes the search result. The text of thesearch results are typically derived from the documents, files, orwebsites of the search results. A website describing how to reboot acable modem may have a search result having text such as a title of“Rebooting a cable modem,” a hyperlink that indicates the location ofthe search result, and a snippet that provides a brief summary of thesearch result. The text of the search result (e.g., a title, a snippetabout the search result, a hyperlink, etc.) may be modified prior tooutput (e.g., presentation on a display device or other output device).The text of the search result may be modified to reflect the keywords ofthe search query, rather than (or in addition to) the text indicative ofthe document, file, or website. The text of the search result may besubstituted for one or more keywords of the search query.

The text of the search results (e.g., a title, a snippet about thesearch result, a hyperlink, etc.) may be dynamically modified (e.g.,replaced) based on terms in the search query. Artificial Intelligence(AI) may be utilized for determining the search results, as well as fordetermining whether to modify the search results. The AI may determinewhether to modify the text of the search results based on one or morecharacteristics associated with a user that submitted the query. Thecharacteristics may be stored in a user profile associated with theuser. The AI may determine one or more of the characteristics and/orpreferences of the user over time based on the user's search history.The AI may utilize machine learning and/or Natural Language Processing(NLP) to determine one or more terms in the text of the search resultsthat are contextually related with one or more terms of the submittedquery. That is, the AI may understand that the terms “cable box” and“TV” have the same contextual meaning to a user. The contextual meaningmay be based on vernacular associated with the user and/or a regionwhere the user may be located. The AI may modify the search resultsbased a query submitted by a user.

If a user submits a query such as “My cable box isn't working,” or “Mysettop isn't showing video,” or “My TV isn't working,” the search enginemay determine one or more search results associated with the submittedquery. The text of the search results (e.g., a title, a snippet aboutthe search result, a hyperlink, etc.) may be modified by determiningwords in the text of the search results that are contextually related tothe underlined terms, and replacing the contextually related words withthe underlined terms. In this manner, the search results may be modifiedbased on terms of the submitted query to provide search results thatmatch the terms submitted by the user. Content other than search resultsmay be modified based on the user. Ads and metadata associated with awebsite may be changed based on one or more characteristics of the userthat submitted the query.

The AI may improve (e.g., learn) over time based one or morecharacteristics of the user submitting the query. The AI may modify thesearch results based on the user's demographics, past search queriessubmitted by the user, the user's interaction with the search results,and so forth. The AI may learn that the modified search results weresuccessful based on a user interacting with (e.g., clicking on) a searchresult, and the AI may strengthen the contextual relationship betweenthe terms. Alternatively, the AI may learn that the modified terms wereunsuccessful based on a user submitting a new query without interactingwith any of the search results, and the AI may weaken the contextualrelationship between the terms.

FIG. 1 shows a system 100 that may be configured to provide services,such as search services, to a user device 102. The system 100 may have auser device 102, a computing device 104, a search engine 118, and/or alanguage processing device 120. The user device 102 may be incommunication with a computing device 104 such as a server. Thecomputing device 104 may be disposed locally or remotely relative to theuser device 102. The user device 102 and the computing device 104 may bein communication via a private and/or public network 105 such as theInternet or a local area network. Other forms of communications may beused such as wired and wireless telecommunication channels.

The user device 102 may be an electronic device such as a computer, asmartphone, a laptop, a tablet, a set top box, a display device, orother device capable of communicating with another device (e.g., thecomputing device 104, the search engine 118, and/or the languageprocessing device 120). The user device 102 may comprise a communicationelement 106 for providing an interface to a user to interact with theuser device 102, the computing device 104, the search engine 118, and/orthe language processing device 120. The communication element 106 may beany interface for presenting and/or receiving information to/from theuser, such as search queries and/or search results. The communicationelement 106 may be an interface such as a web browser (e.g., InternetExplorer®, Mozilla Firefox®, Google Chrome®, Safari®, or the like) foraccessing webpages and/or websites. Other software, hardware, and/orinterfaces may be used to provide communication between the user and oneor more of the user device 102, the computing device 104, the searchengine 118, and/or the language processing device 120. The communicationelement 106 may request or query various files from a local sourceand/or a remote source such as the computing device 104, the searchengine 118, and/or the language processing device 120. The communicationelement 106 may submit (e.g., to the computing device 104, the searchengine 118, and/or the language processing device 120) a query for asearch. The query may comprise one or more terms. The communicationelement 106 may transmit data to a local or remote device such as thecomputing device 104, the search engine 118, and/or the languageprocessing device 120. The communication element 106 may send the query(e.g., to the computing device 104, the search engine 118, and/or thelanguage processing device 120).

The user device 102 may be associated with a user identifier or a deviceidentifier 108. The device identifier 108 may be any identifier, token,character, string, or the like, for differentiating one user or userdevice (e.g., the user device 102) from another user or user device. Thedevice identifier 108 may identify a user or user device as belonging toa particular class of users or user devices. The device identifier 108may comprise information relating to the user device such as amanufacturer, a model or type of device, a service provider associatedwith the user device 102, a state of the user device 102, a locator,and/or a label or classifier. Other information may be represented bythe device identifier 108.

The device identifier 108 may be associated with a user profile. A userof the user device 102 may provide the user device 102 with demographicinformation (e.g., location, age, etc.) and/or preferences associatedwith the user. The user device 102 may use the information provided bythe user to create and/or maintain the user profile associated with theuser. The user profile may indicate preferred terms and/or words of theuser associated with the user profile. Each user of the user device 102may have a different user profile, and the different user profiles mayhave different information reflecting the different users. The userdevice 102 may use the user profile associated with the deviceidentifier 108 to submit a query (e.g., to the computing device 104, thesearch engine 118, and/or the language processing device 120). The querymay include the user profile so that a device and/or service receivingthe query and the user profile (e.g., the computing device 104, thesearch engine 118, and/or the language processing device 120) mayutilize the user profile in executing the query.

The device identifier 108 may comprise an address element 110 and aservice element 112. The address element 110 may comprise or provide aninternet protocol address, a network address, a media access control(MAC) address, an Internet address, or the like. The address element 110may be relied upon to establish a communication session between the userdevice 102 and the computing device 104, the search engine 118, thelanguage processing device 120, or other devices and/or networks. Theaddress element 110 may be used as an identifier or locator of the userdevice 102. The address element 110 may be persistent for a particularnetwork. The address element 110 may indicate a location associated withthe user device 102. The address element 110 may indicate a physicallocation (e.g., Global Positioning System (GPS) coordinate, mailingaddress, state, region, country, etc.) of the user device 102.

The service element 112 may comprise an identification of a serviceprovider associated with the user device 102 and/or with the class ofuser device 102. The class of the user device 102 may be related to atype of device, capability of device, type of service being provided,and/or a level of service (e.g., business class, service tier, servicepackage, etc.). The service element 112 may comprise informationrelating to or provided by a communication service provider (e.g., anInternet Service Provider (ISP)) that is providing or enabling data flowsuch as search services to the user device 102. The service element 112may comprise information relating to a preferred service provider forone or more particular services relating to the user device 102. Theaddress element 110 may be used to identify or retrieve data from theservice element 112, or vice versa. The address element 110 and/or theservice element 112 may be stored remotely from the user device 102 andretrieved by one or more devices such as the user device 102, thecomputing device 104, the search engine 118, and/or the languageprocessing device 120. Other information may be represented by theservice element 112.

The computing device 104 may be a server for communicating with the userdevice 102. The computing device 104 may communicate with the userdevice 102 for providing data and/or services. The computing device 104may provide services such as network (e.g., Internet) connectivity,network printing, media management (e.g., media server), contentservices, streaming services, broadband services, or othernetwork-related services. The computing device 104 may allow the userdevice 102 to interact with remote resources such as data, devices, andfiles. The computing device 104 may be configured as (or disposed at) acentral location (e.g., a headend, processing facility, etc.), which mayreceive content (e.g., data, content, input programming, etc.) frommultiple sources.

The computing device 104 may manage the communication between the userdevice 102 and a database 114 for sending and receiving datatherebetween. The database 114 may store a plurality of files (e.g.,webpages), user identifiers or records, or other information. Thedatabase 114 may store user profiles associated with a user of the userdevice 102. The user device 102 may request and/or retrieve a file fromthe database 114. The database 114 may store information relating to theuser device 102 such as the address element 110 and/or the serviceelement 112. The computing device 104 may obtain the device identifier108 from the user device 102 and retrieve information from the database114 such as the address element 110 and/or the service elements 112. Thecomputing device 104 may obtain the address element 110 from the userdevice 102 and may retrieve the service element 112 from the database114, or vice versa. Any information may be stored in and retrieved fromthe database 114. The database 114 may be disposed remotely from thecomputing device 104 and accessed via direct or indirect connection. Thedatabase 114 may be integrated with the computing device 104 or someother device or system.

The database 114 may store one or more identifiers 116 associated withone or more devices (e.g., the user device 102, the computing device104, the search engine 118, and/or the language processing device 120).One or more identifiers may be, or relate to, an Internet Protocol (IP)Address IPV4/IPV6 or a media access control address (MAC address) or thelike. One or more identifiers 116 may be a unique identifier forfacilitating communications on the network 105. Each of the devices maycomprise a distinct identifier 116. The identifiers 116 may beassociated with a physical location of the devices.

The computing device 104 may provide search services to the user device102. The computing device 104 may provide search services for searchingthe database 114. The user device 102 may send a search query to thecomputing device 104 via the network 105. The search query may be one ormore keywords, terms, phrases, questions, natural language queries,concepts, combinations thereof, and the like. The search query may haveone or more search query terms. The computing device 104 may receive thesearch query from the user device 102. The computing device 104 mayexecute a search based on the search query. The computing device 104 mayexecute a search based on the search query terms. The computing device104 may send the search query to another device and/or service (e.g.,the search engine 118 and/or the language processing device 120) via thenetwork 105 to execute the search. The computing device 104 maydetermine search results and/or receive the search results from theanother device and/or service, and send the search results of the searchquery to the user device 102. Each of the search results may have text.The text of the search results may be one or more of a title, a snippet,and/or a hyperlink. The computing device 104 may modify the searchresults. The computing device 104 may modify the text of the searchresults. The computing device 104 may modify the search results prior tosending the search results to the user device 102. The computing device104 may modify the text of the search results prior to sending thesearch results to the user device 102. The computing device 104 maymodify the text of the search results based on one or more terms of thesearch query. The computing device 104 may modify the text of the searchresults to include one or more terms of the search query. The computingdevice 104 may replace at least a portion of the text of the searchresults with one or more terms of the search query. The computing device104 may replace a term in the text of the search result with acontextually related term of the search query. The computing device 104may send the modified search results to the user device 102.

The search engine 118 may provide search results based on a searchquery. The search engine 118 may receive a search query from a device(e.g., the user device 102 and/or the computing device 104). The searchquery may have one or more keywords, terms, phrases, questions, naturallanguage queries, concepts, combinations thereof, and the like. Thesearch query may include one or more search query terms. The searchengine 118 may provide search results based on the search query terms.The search results may have text (e.g., a title, a snippet about thesearch result, a hyperlink, etc.). The search engine 118 may filtersearch results received from another search engine. The search engine118 may retrieve and analyze electronic documents (e.g., websites) todetermine how to index the electronic documents. Data about theelectronic documents may be stored in the search engine 118 for use inqueries by the search engine 118. The search engine 118 may use thelanguage processing device 120 to perform language processing on thesearch query terms to assist in performing searches.

The search engine 118 may provide one or more search results based onthe search query. A search result may have text. The text of the searchresult may comprise a title, a snippet, and/or a hyperlink. Each searchresult may be associated with an electronic document and/or website. Thewebsite may reside on the network 105 (e.g., the Internet) and may be acollection of one or more webpages, which are electronic documents thatmay be coded in HTML. The webpages may be linked to each other and/ormay be linked to webpages on other websites. A website may be hosted ona website owner's server or on an Internet Service Provider (ISP)server. A website may share space on a server with other websites, mayreside on a computing device (e.g., the computing device 104) dedicatedto that website only, or may be on multiple dedicated computing devices104.

The webpage may have one or more ads. The ads may be determined based ona user profile associated with a user. The ads may be directed towardthe user associated with the user profile based on one or morecharacteristics of the user. The ads may have text comprising one ormore terms. The text of the ads may be modified based on the userprofile. The user profile may have a plurality of terms associated withthe user. The text of the ads may be modified based on the plurality ofterms associated with the user.

The search engine 118 may perform one or more types of searches. Thesearch engine 118 may perform a keyword search. A keyword search may bea type of search that looks for matching documents (e.g., electronicfiles, websites, etc.) that contain one or more words specified by auser.

The search engine 118 may determine one or more of a domain-level linkfeature, a page-level link feature, a page-level keyword feature, apage-level content-based feature, a page-level keyword-agnostic feature,engagement data, traffic/query data, domain-level brand metrics,domain-level keyword usage, domain-level keyword-agnostic feature,page-level social metrics, and combinations thereof. The search engine118 may use the aforementioned features to determine a relevance of apotential search result (e.g., a website). The domain-level link featuremay be based on link/citation metrics such as quantity of links, trust,domain-level PageRank, etc. The page-level link feature may be based onPageRank, trust metrics, quantity of linking root domains, links, anchortext distribution, quality (or lack thereof) of linking resources, etc.The page-level keyword feature and/or the page-level content-basedfeature may be based on content relevance scoring, on-page optimizationof keyword usage, topic-modeling algorithm scores on content, contentquantity/quality/relevance, etc. The page-level keyword-agnostic featuremay be based on content length, readability, Open Graph markup,uniqueness, load speed, structured data markup, HTTPS, etc. Theengagement data and/or the traffic/query data may comprise Search EngineResults Pages (SERP) engagement metrics, clickstream data, visitortraffic/usage signals, quantity/diversity/CTR of queries, both on thedomain and the page level. The domain-level brand metrics may be basedon offline usage of brand/domain name, mentions of brand/domain innews/media/press, toolbar/browser data of site usage, entityassociation, etc. The domain-level keyword usage may be based onexact-match keyword domains, partial-keyword matches, etc. Thedomain-level keyword-agnostic feature may be based on domain namelength, TLD extension, SSL certificate, etc. The page-level socialmetrics may be based on quantity/quality of tweeted links, Facebookshares, etc., to the page.

The search engine 118 may perform a semantic search. The semantic searchmay improve search accuracy by understanding searcher intent and thecontextual meaning of terms as the terms appear in the searchabledataspace, whether on the Web or within a closed system, to generatemore relevant results. A semantic search technique may be used to builda semantic model from a set of documents (e.g., websites, emails,documents on a file system, etc.). The semantic model may be used todetermine search results based on the semantics of a user. The semanticmodel may be able to determine search terms based on the vernacular of auser. The semantic model may be specific to an individual user or may beassociated with a group and/or class of users. The semantic model may beassociated with a specific user.

The semantic model may be modified based on traits and/orcharacteristics of users. The users may have vernacular that may beregionally distinct (e.g., has a different meaning) than vernacular ofusers of a different region. A user from a first region may refer tosoda generally as “coke,” whereas a user from a second region may referto soda generally as “pop.” The semantic model may determine theaforementioned distinction, and may build a separate semantic model foreach region. The semantic model may be modified based on each user.Stated differently, each user may have a specific semantic modelassociated with the user that may be modified and/or updated over timeto accurately reflect and/or indicate the semantics and/or vernacular ofthe user. The semantic model may be associated with a user profile thatmay be associated with a user.

The search engine 118 may modify one or more search results based on thesemantic model. The search engine 118 may determine the one or moresearch results based on a search query submitted by a user. The searchengine 118 may modify text of the search results based on the semanticmodel to provide search results in vernacular associated with thesemantic model. The semantic model may indicate one or more terms thatare more familiar and/or preferred with a user who submitted the searchquery. The search engine 118 may modify the term “sub sandwich” locatedin text of a search result (e.g., the title, the snippet, the hyperlink,etc.) to the term “hoagie” if the semantic model indicates the userwould be more familiar with and/or prefer the term “hoagie” over “subsandwich.” Thus, the search engine 118 may modify the search resultsbased on the semantic model.

The search engine 118 may provide search services to the user device102, the computing device 104, and/or the language processing device120. The user device 102, the computing device 104, and/or the languageprocessing device 120 may send a search query to the search engine 118via the network 105. The search query may be one or more keywords,terms, phrases, questions, natural language queries, concepts,combinations thereof, and the like. The search query may have one ormore search query terms. The search engine 118 may receive the searchquery from the user device 102, the computing device 104, and/or thelanguage processing device 120. The search engine 118 may execute asearch based on the search query. The search engine 118 may determinesearch results, and send the search results of the search query to theuser device 102, the computing device 104, and/or the languageprocessing device 120. Each of the search results may have text. Thetext of the search results may be a title, a snippet, and/or ahyperlink. The search engine 118 may modify the search results. Thesearch engine 118 may modify the search results prior to sending thesearch results to the user device 102, the computing device 104, and/orthe language processing device 120. The search engine 118 may modifytext of the search results based on one or more terms of the searchquery. The search engine 118 may replace a term in the text of thesearch result with a contextually related term of the search query. Thesearch engine 118 may send the modified search results to the userdevice 102, the computing device 104, and/or the language processingdevice 120.

While the search engine 118 is shown as being external to the userdevice 102, the computing device 104, and the language processing device120 for ease of explanation, a person skilled in the art wouldappreciate that the user device 102, the computing device 104, and/orthe language processing device 120 may include the capabilities of thesearch engine 118.

The language processing device 120 may have a Natural LanguageProcessing (NLP) module 122 and an ontology module 124. The languageprocessing device 120 may receive a request and may execute a searchbased on the request. The request may have one or more terms, and thelanguage processing device 120 may develop a list of related terms,concepts, and/or contexts that may correlate to the one or more terms inthe request. The language processing device 120 may provide the list ofrelated terms to another device (e.g., the user device 102, thecomputing device 104, and/or the search engine 118).

The search engine 118 may communicate with the language processingdevice 120. The search engine 118 may use the language processing device120 to determine one or more terms of a query. The search engine 118 maysend a query to the language processing device 120, and the languageprocessing device 120 may develop a list of related terms that maycorrelate to information in the query. The language processing device120 may send the list of related terms to the search engine 118. Thesearch engine 118 may use the list of related terms to execute thesearch and determine the search results.

The natural language processing (NLP) module 122 may analyze the text ofsearch queries, search results, indexed electronic files, combinationsthereof, and the like. The text may be provided to the NLP module 122,and the NLP module 122 may generate a cognitive model of the input text.In other words, a query in natural language may be parsed into therepresentation format of first-order logic and naive semantics. The NLPmodule 122 may use statistical techniques to produce a list of candidateterms and a relevance reasoning module (not shown) which may usefirst-order theorem proving and human-like reasoning to determine whichterms should be output based on the submitted query. The text may bebased on sentence structure, based on a word-by-word analysis,term-by-term, phrase-by-phrase, and/or a whole sentence analysis.

The ontology module 124 may use a concept-based method for searchingtext information. The ontology module 124 may communicate with the NLPmodule 122 to transform a natural language query into predicatestructures representing logical relationships between words in thenatural language query. The ontology module 124 may have one or moreontologies and/or thesauri containing lexical semantic information aboutwords. The ontology module 124 may use the one or more ontologies and/orthesauri to determine terms that are contextually related. The ontologymodule 124 may receive a query having one or more terms, and theontology module 124 may determine one or more related terms based on thequery. The ontology module 124 may provide a logical representationand/or a semantic representation for all of the content in an electronicdocument. The logical representation and/or a semantic representationmay be a data profile, a request result, a search result, and/or text.

A thesaurus may be a structured controlled vocabulary. The thesaurus mayprovide information about each term and the term's relationships toother terms within the same thesaurus. In addition to specifying whichterms may be used as synonyms, a thesaurus also indicates which termsare more specific (narrower terms), which are broader, and which arerelated terms.

An ontology may be a set of concepts with attributes and relationshipsbetween the various concepts that have various meanings, all to define adomain of knowledge. The ontology may have a format that ismachine-readable. Ontologies may define a domain of knowledge throughterms and relationships. An ontology may be a more complex type ofthesaurus, in which instead of having simply “related term”relationships, there may be various customized relationship pairs thathave specific meaning, such as “owns” and a reciprocal “is owned by.”

The ontology module 124 and/or the NLP module 122 may generate one ormore data profiles. A data profile may have a list of concepts and/orterms and their associated relevance weights. A weight may indicate animportance of a concept/term with regard to other concepts/terms. Theweights may represent the frequency with which the concepts occur intextual information, the specificity of the concepts, statisticalcharacteristics of each concept, the strength of the contextualrelationship between terms, and the like. Statistical characteristics ofconcepts may include, without limitation, the specificity, thesensitivity, the number of alternatives occurring in the textualinformation, the textual similarity, the contextual relationship, andthe like.

The ontology module 124 and/or the NLP module 122 may determine a weightfor a concept/term in a data profile. Important terms may have a higherweight than less important terms. Similarly, terms that are contextuallyrelated may have higher weights if the contextually related term is morelikely to make sense in the sentence or query versus a term that wouldnot make sense. In a comparison with the query “My dog loves playingfetch,” the term “puppy” may be given a high weight as being verycontextually related to the term “dog”, whereas the term “homie,” whichcan be a vernacular term such as “dog” for buddy, may be given a lowweight as “homie” would likely not be contextually related to thatquery. If the ontology module 124 and/or the NLP module 122 are provideda search from a user such as “switch on cable box,” the term “cable box”may have a higher weight than the term “switch” because a resource thathas “cable box” is more likely to be relevant than the term “switch” dueto the variety of ways “switch” may be contextually used.

The ontology module 124 and/or the NLP module 122 may generate a dataprofile based on a search query. The resulting data profile may be usedto identify one or more search results based on a comparison between aquery data profile and data profiles of potential search results. Anamount of overlap between the query data profile and the data profilesof potential search results may identify relevant search results.Determining an overlap of data profiles among a plurality of dataprofiles may comprise determining a number of concepts that dataprofiles have in common. The ontology module 124 and/or the NLP module122 may determine a similarity score that reflects the similaritybetween a query data profile and the data profiles of potential searchresults. The ontology module 124 and/or the NLP module 122 may use thesimilarity score to determine that the relevance of potential searchresults. A high similarity score may indicate the potential searchresults are very relevant based on the requested search. A lowsimilarity score may indicate that the potential search results areirrelevant.

The ontology module 124 and/or the NLP module 122 may use a user profileto track characteristics of a user. The user profile may be associatedwith a specific user. The user profile may be associated with a specificclass of users. The ontology module 124 and/or the NLP module 122 maycustomize the user profile over time. That is, the ontology module 124and/or the NLP module 122 may learn characteristics of the user overtime, and store the information associated with the characteristics ofthe user in the user profile. The characteristics may be preferredterms, age, location, and so forth. The ontology module 124 and/or theNLP module 122 may use the user profile to personalize search resultsfor the user. The user profile may indicate how to weight differentterms, how to define a similarity and/or contextual score based on theuser profile, or any personalization that may assist the ontology module124 and/or the NLP module 122 in determining terms for the userassociated with the user profile.

The language processing device 120 may provide search services to theuser device 102, the computing device 104, and/or the search engine 118.The user device 102, the computing device 104, and/or the search engine118 may send a search query to the language processing device 120 viathe network 105. The search query may be one or more keywords, terms,phrases, questions, natural language queries, concepts, combinationsthereof, and the like. The search query may have one or more searchquery terms. The language processing device 120 may receive the searchquery from the user device 102, the computing device 104, and/or thesearch engine 118. The language processing device 120 may execute asearch based on the search query. The language processing device 120 maydetermine search results, and send the search results of the searchquery to the user device 102, the computing device 104, and/or thesearch engine 118. Each of the search results may have text. The text ofthe search result may be one or more of a title, a snippet, and/or ahyperlink. The language processing device 120 may modify the searchresults. The language processing device 120 may modify the text of thesearch results. The language processing device 120 may modify the searchresults prior to sending the search results to the user device 102, thecomputing device 104, and/or the search engine 118. The languageprocessing device 120 may modify the text of the search results based onone or more terms of the search query. The language processing device120 may replace a term in the text of the search result with acontextually related term of the search query. The language processingdevice 120 may send the modified search results to the user device 102,the computing device 104, and/or the search engine 118.

While the language processing device 120 is shown as being external tothe user device 102, the computing device 104, and the search engine 118for ease of explanation, a person skilled in the art would appreciatethat the user device 102, the computing device 104, and/or the searchengine 118 may include the capabilities of the language processingdevice 120.

FIG. 2 shows a user interface 200 for search results. The user interface200 may be a visual representation of a web page. The user interface 200may have a search bar 202, a search button 204, a search results header206, a listing of search results 208, a page indicator 210, and a pagenavigation button 212. A user of a user device (e.g., the user device102 of FIG. 1) may provide an input to the search bar 202. The input maybe one or more terms of a query. The user may interact with the searchbutton 204 to indicate that the user desires to execute the query. Theuser may interact with the search button 204 and, in response, the userdevice may send a query that has the one or more terms within the searchbar 202 to a computing device (e.g., the computing device 104, thesearch engine 118, and/or the language processing device 120 of FIG. 1)to determine one or more search results 208. The computing device maysend the query to a search engine (e.g., the search engine 118 ofFIG. 1) to execute the query. That is, the search engine 118 may performa search based on the one or more terms of the query to determine thesearch results 208. The search engine 118 may provide the search results208 to the computing device (e.g., the computing device 104). Thecomputing device may provide the search results to the user device(e.g., the user device 102). The user device may cause display of thesearch results 208 via the user interface 200.

Each of the search results 208 may have text. The text of the searchresults may be a title 214, a hyperlink 216, and/or a snippet 218. Thetitle 214 of the search result indicates a heading or label for therespective search result. The title 214 may be based on a titleassociated with a website or electronic document. The title 214 may bedetermined from metadata stored within the website or electronicdocument that indicates the title for the website or electronicdocument. The hyperlink 216 may indicate the location of the searchresult. The hyperlink 216 may be a Uniform Resource Locator (URL) thatindicates the location to retrieve a website and/or electronic documentassociated with the search result. If the hyperlink 216 is selected, theuser interface 200 may be replaced with the website and/or electronicdocument associated with the hyperlink 216.

The snippet 218 may be a brief summary of the website and/or electronicdocument associated with the search result. The snippet 218 may providethe user with a brief overview of the website associated with the searchresult in order to provide the user with information to allow the userto determine whether the search result is relevant to the user. Thesnippet 218 may be determined from metadata associated with theelectronic document (e.g., a website). The metadata may indicate asummary and/or snippet section, which may then be utilized as thesnippet 218. The snippet 218 may be determined by searching (e.g.,scraping) the website. That is, the website may be searched for keyterms (e.g., the one or more terms of the query) to determine one ormore portions of the website that match the query terms. The one or moreportions of the website may be provided as the snippet 218.

The user may submit a query for “My TV is broken” in the search box 202.The search results 208 may provide three search results 208 that mayprovide an answer to the user's query. Specifically, the first searchresult has a title 214 a of “How to Reset Your Cable Box.” The hyperlink216 a may indicate the location of a website associated with the firstsearch result. The first search result also may have a snippet 218 a.The snippet 218 a may provide a brief summary of the website associatedwith the first search result. Specifically, the snippet 218 a mayindicate that “Resetting a Cable Box is a quick process that canalleviate several problems associated with displaying cable content.”

The second search result has a title 214 b of “How to Test if Your TVScreen is Broken.” The hyperlink 216 b may indicate a website associatedwith the location of the second search result. The second search resultalso may have a snippet 218 b. The snippet 218 b may provide a briefsummary of the website associated with the second search result.Specifically, the snippet 218 b may indicate that “If you have alreadyruled out your cable box as being the source of the issue withdisplaying content, you may need to check your TV to ensure it isfunctioning properly.”

The third search result has a title 214 c of “Service Outages in YourArea.” The hyperlink 216 c may indicate the location of a websiteassociated with the third search result. The third search result alsomay have a snippet 218 c. The snippet 218 c may provide a brief summaryof the website associated with the third search result. Specifically,the snippet 218 c may indicate that “Check the interactive map todetermine whether there are any cable outages near you.”

The search results 208 may be relevant to the search terms (e.g., “my TVis broken”) submitted in the query via the search box 202, but a usermay not recognize the search results 208 as being relevant because thesearch results may have language the user who submitted the query is notfamiliar with. The user may not know that a “Cable Box” may be a devicethat provides cable to the user's TV. Thus, the user may incorrectlyassume that “How to Reset your Cable Box” is an irrelevant search resultthat the user may ignore.

FIG. 3 shows a user interface 300 for search results. The user interface300 may be a visual representation of a web page. The user interface 300may have a search bar 302, a search button 304, a search results header306, a listing of search results 308, page indicator 310, and a pagenavigation button 312. The user interface 300 follows the user interface200 of FIG. 2, but the search results 308 are modified from the searchresults 208 of FIG. 2.

The user may interact with the search button 304 to indicate that theuser desires to execute the query. The user may interact with the searchbutton 304 and, in response, the user device may send a query that hasthe one or more terms within the search bar 302 to a computing device(e.g., the computing device 104 of FIG. 1) to determine one or moresearch results 308. The computing device may send the query to a searchengine (e.g., the search engine 118 of FIG. 1) to execute the query.That is, the search engine may perform a search based on the one or moreterms of the query to determine the search results 308. The searchengine may provide the search results 308 to the computing device. Thecomputing device may provide the search results 308 to a languageprocessing device (e.g., the language processing device 120 of FIG. 1).Alternatively, the search engine may provide the search results 308directly to the language processing device.

The language processing device may receive the search results 308. Thelanguage processing device may modify the search results 308 based onthe query submitted via the search bar 302. The language processingdevice may analyze the query to determine one or more terms of thequery. The language processing device may use the one or more terms ofthe query to determine one or more contextually related words in thetext of search results 308. The language processing device may modifythe search results 308 to replace the one or more contextually relatedwords in the text of the search results 308 with the one or more termsof the query. The language processing device may provide the modifiedsearch results 308 to the computing device. The computing device mayprovide the modified search results to the user device. The user devicemay cause display of the modified search results 308 via the userinterface 300. The user device may have the capability of the languageprocessing device. That is, the user device may receive unmodifiedsearch results, and modify the search results prior to causing output ofthe search results.

The search results 308 may be modified based on one or more terms of thequery and/or a profile associated with the user executing the search.The user profile may indicate characteristics, demographics, and/orpreferences of the user. The user profile may indicate terms that theuser associated with the user profile prefers. That is, the user profilemay indicate that the user does not prefer the term “Cable Box,” butrather the user prefers the term “TV.” The search results may bemodified to provide text that the user may prefer (e.g., replacing textof the search results 308 that has the term “Cable Box” with the word“TV”).

The user profile may indicate the user is not technically savvy and maynot understand technical terms associated with determining issues withthe user's TV. That is, the user profile may indicate that the user maynot know that a “Cable Box” is a device that provides cable service toan output device. Thus, the search results may be modified to provideresults that the user may better understand (e.g., replacing text of thesearch results 308 that have the term “Cable Box” with the word “TV”).The user interface 300 may also have ads (not shown) and/or metadataassociated with the user interface 300.

The user interface 300 may also have ads (not shown) and/or metadataassociated with the user interface 300. The ads and/or the metadata maybe modified based on the user profile and/or the query submitted via thesearch bar 302. The user interface 300 may be dynamically modified. Theuser device may dynamically modify the search results 308 as the userdevice receives the search results 308.

The user may submit a query for “My TV is broken” in the search box 302.The search results 308 has three search results 308 that may provide ananswer to the user's search. Specifically, the first search result has atitle 314 a of “How to Reset Your TV.” The title 314 a has been modifiedas compared to the title 214 a of FIG. 2 which recites “How to ResetYour Cable Box.” The term “Cable Box” has been replaced with the term“TV” prior to causing output of the search results 308. Thus, the title314 a may be modified based on the query submitted by the user via thesearch box 302. Similarly, the snippet 318 a may be modified to recite“Resetting Your TV is a quick process that can alleviate severalproblems associated with displaying cable content” as compared to thesnippet 218 a of FIG. 2 which recites that “Resetting a Cable Box is aquick process that can alleviate several problems associated withdisplaying cable content.” Thus, the snippet 318 a may be modified basedon the query submitted by the user via the search box 302. The hyperlink316 a may not be modified as compared to the hyperlink 216 a because thehyperlink 316 a comprises a URL pointing to a specific location of thesearch result and modifying the hyperlink 316 a may result in anon-working hyperlink. Text that indicates the hyperlink 316 a may bemodified as the text that indicates the hyperlink 316 a may not impactthe functioning of the hyperlink 316 a. That is, the text of thehyperlink 316 a may be modified from“www.resettingTV.com/resettingcablebox” to“www.resettingTV.com/resettingTV” to appear more relevant to the user,but the actual hyperlink may remain“www.resettingTV.com/resettingcablebox” so that if the user selects thehyperlink 316 a the hyperlink works as intended.

The second search result has a title 314 b of “How to Test if Your TVScreen is Broken.” The hyperlink 316 b may indicate the location of thesecond search result. The second search result also may have a snippet318 b. The snippet 318 b may provide a brief summary of the secondsearch result. Specifically, the snippet 318 b may indicate that “If youhave already ruled out your cable box as being the source of the issuewith displaying content, you may need to check your TV to ensure it isfunctioning properly.” The second search result may not be modified ascompared to the second search result of FIG. 2 because the search resultalready has a term of the query (e.g., TV) and does not contain anyadditional contextually related terms to be modified.

The third search result has a title 314 c of “TV Outages in Your Area.”The title 314 c has been modified as compared to the title 214 c of FIG.2 which recites “Service Outages in Your Area.” The term “Service” hasbeen replaced with the term “TV” prior to causing output of the searchresults 308. Thus, the title 314 c may be modified based on the querysubmitted by the user via the search box 302. Similarly, the snippet 318c may be modified to recite “Check the interactive map to determinewhether there are any TV outages near you.” as compared to the snippet218 c of FIG. 2 which recites that “Check the interactive map todetermine whether there are any cable outages near you.” Thus, thesnippet 318 b may be modified based on the query submitted by the uservia the search box 302. The hyperlink 316 c may not be modified ascompared to the hyperlink 216 c because the hyperlink comprises a URLpointing to a specific location of the search result and modifying thehyperlink may result in a non-working hyperlink. Text that indicates thehyperlink 316 c may be modified as the text that indicates the hyperlink316 c may not impact the functioning of the hyperlink 316 c.

FIG. 4 shows a user interface 400 for search results. The user interface400 may be a visual representation of a web page. The user interface 400may have a search bar 402, a search button 404, a search results header406, a listing of search results 408, page indicator 410, and a pagenavigation button 412. The user interface 400 is similar to the userinterface 200 of FIG. 2 and the user interface 300 of FIG. 3.

The user may submit a query for “Cable Box not displaying HD video” inthe search box 402. The search results 408 provide three search results408 that may provide an answer to the user's search. Specifically, thefirst search result has a title 414 a of “Trouble Shooting aSet-Top-Box.” The hyperlink 416 a may indicate the location of the firstsearch result. The first search result also may have a snippet 418 a.The snippet 418 a may provide a brief summary of the first searchresult. Specifically, the snippet 418 a may indicate that “Tips ontrouble shooting various errors that may occur with a Set-Top-Box todetermine the source of the error.”

The second search result has a title 414 b of “Cable Box Not DisplayingHD Content.” The hyperlink 416 b may indicate the location of the secondsearch result. The second search result also may have a snippet 418 b.The snippet 418 b may provide a brief summary of the second searchresult. Specifically, the snippet 418 b may indicate that “If you havealready determined that you have a cable package that supports HDcontent, you may need to check settings on your cable box to ensure HDis selected.”

The third search result has a title 414 c of “Difference Between SD andHD Content.” The hyperlink 416 c may indicate the location of the thirdsearch result. The third search result also may have a snippet 418 c.The snippet 418 c may provide a brief summary of the third searchresult. Specifically, the snippet 418 c may indicate that “SD stands for‘Standard Definition’ and HD stands for ‘High Definition’. HD content,as the name implies, has higher definition, or pixel count, than SDcontent.”

The search results 408 may be relevant to the search terms (e.g., “CableBox Not Displaying HD Content”) submitted in the query via the searchbox 402, but the search results 408 may not be relevant to the user whosubmitted the query. The user may know the difference between StandardDefinition and High Definition content. Thus, the third search resultmay not be relevant to the user who submitted the query.

FIG. 5 shows a user interface 500 for search results. The user interface500 may be a visual representation of a web page. The user interface 500may have a search bar 502, a search button 504, a search results header506, search results 508, page indicator 510, and a page navigationbutton 512. The user interface 500 follows the user interface 400 ofFIG. 4, but the search results 508 are modified from the search results408 of FIG. 4.

The search results 508 have one fewer search result than the searchresults 408. Specifically, the search result 508 related to “Differencebetween SD and HD Content” has been removed from the search results 508.The one or more terms of the query and/or a profile associated with theuser may indicate the user is technologically savvy. The search results508 may be modified based on the user being technologically savvy. Thus,the computing device (e.g., the user device 102 and/or the computingdevice 104 of FIG. 1) may determine that the user's technical acumenindicates that the search result 508 “Difference between SD and HDContent” is irrelevant to the user. The search result 508 may beirrelevant to the user because the computing device may determine theuser would not find the search result 508 helpful given the requestedsearch terms and the user profile. A user with a high technical acumenmay know what the differences are between SD and HD content, and if theuser desired that search result 508, the user would have used searchterms that more closely align with that search result. Thus, thecomputing device may determine to remove and/or hide search results froma user based on the user profile. The computing device may determine toadd additional search results based on the user profile.

FIG. 6 shows a flowchart of a method 600 for modifying terminology. Atstep 610, a search request comprising a search query may be received bya computing device (e.g., the user device 102, the computing device 104,the search engine 118, and/or the language processing device 120 of FIG.1). The search query may have one or more terms. The search request mayindicate a user profile associated with the device sending the request(e.g., the user device 102). The user profile may indicate one or morecharacteristics and/or preferences associated with the user.

At step 620, a search result may be determined. The search result may bedetermined by a computing device (e.g., by the user device 102, thecomputing device 104, the search engine 118, and/or the languageprocessing device 120 of FIG. 1). The search result may be based on theone or more search terms. The search result may be based on a userprofile associated with a user of a device (e.g., the user device 102).A computing device (e.g., the user device 102 and/or the computingdevice 104) may receive the search request, and send the search requestto another device (e.g., the search engine 118 and/or the languageprocessing device 120) to determine the one or more search results. Theone or more search results may be based on a user profile associatedwith a user of a device (e.g., the user device 102).

At step 630, a term of the search result that may be contextuallyrelated to a term of the search query may be determined. The term of thesearch result that may be contextually related to a term of the searchquery may be determined by a computing device (e.g., by the user device102, the computing device 104, the search engine 118, and/or thelanguage processing device 120 of FIG. 1). The search result may haveone or more terms. The term of the search query may be compared to theone or more terms of the search result (e.g., by the search engine 118and/or the language processing device 120) to determine if a term of theone or more terms of the search result may be contextually related tothe term of the search query. The contextual relationship may bedetermined by using Natural Language Processing (NLP). The one or moresearch terms may be determined by comparing the requested term to adatabase. The database may be an ontology. The ontology may be used todetermine that the term of the search result may be contextually relatedto the term of the search query. A user profile may be used to determinethat the term of the search result may be contextually related to theterm of the search query. The user profile may indicate characteristicsand/or preferences of a user of a user device (e.g., the user device102).

At step 640, a modified search result may be determined by a computingdevice (e.g., by the user device 102, the computing device 104, thesearch engine 118, and/or the language processing device 120 of FIG. 1).The computing device may modify the search result by replacing the termof the search result with the term of the search query. The computingdevice may modify the text (e.g., a title, a snippet about the searchresult, a hyperlink, etc.) of the search result.

At step 650, the modified search result may be output by a computingdevice (e.g., by the user device 102, the computing device 104, thesearch engine 118, and/or the language processing device 120 of FIG. 1).The computing device may send the modified search result to anotherdevice (e.g., the user device 102). The computing device may causeoutput of the modified search result on a display.

FIG. 7 shows a flowchart of a method 700 for modifying terminology. Atstep 710, a search query may be received by a computing device (e.g.,the user device 102, the computing device 104, the search engine 118,and/or the language processing device 120 of FIG. 1). The search querymay have one or more terms. An indication of a user profile may bereceived. The indication of the user profile may be received before,after, or concurrently with the search query. The search query mayindicate the user profile. The user profile may be associated with thedevice sending the request (e.g., the user device 102). The user profilemay be associated with a user of the device sending the request (e.g.,the user device 102). The user profile may indicate one or morecharacteristics and/or preferences associated with the user.

At step 720, a search result may be determined. The search result may bedetermined by a computing device (e.g., by the user device 102, thecomputing device 104, the search engine 118, and/or the languageprocessing device 120 of FIG. 1). The search result may be based on theone or more search terms. The search result may be based on a userprofile associated with a user of a device (e.g., the user device 102).A computing device (e.g., the user device 102 and/or the computingdevice 104) may receive the search request, and send the search requestto another device (e.g., the search engine 118 and/or the languageprocessing device 120) to determine the one or more search results. Theone or more search results may be based on a user profile associatedwith a user of a device (e.g., the user device 102).

At step 730, a term of the search result that may be contextuallyrelated to a term of the search query may be determined. The term of thesearch result that may be contextually related to a term of the searchquery may be determined by a computing device (e.g., by the user device102, the computing device 104, the search engine 118, and/or thelanguage processing device 120 of FIG. 1). The search result may haveone or more terms. The term of the search query may be compared to theone or more terms of the search result (e.g., by the search engine 118and/or the language processing device 120) to determine if a term of theone or more terms of the search result may be contextually related tothe term of the search query. The contextual relationship may bedetermined by using Natural Language Processing (NLP). The one or moresearch terms may be determined by comparing the requested term to adatabase. The database may be an ontology. The ontology may be used todetermine that the term of the search result may be contextually relatedto the term of the search query. A user profile may be used to determinethat the term of the search result may be contextually related to theterm of the search query. The user profile may indicate characteristicsand/or preferences of a user of a user device (e.g., the user device102).

At step 740, a modified search result may be determined by a computingdevice (e.g., by the user device 102, the computing device 104, thesearch engine 118, and/or the language processing device 120 of FIG. 1).The computing device may modify the search result by replacing the termof the search result with the term of the search query. The computingdevice may modify the text (e.g., a title, a snippet about the searchresult, a hyperlink, etc.) of the search result. The search result maybe modified based on the user profile.

At step 750, the modified search result may be output by a computingdevice (e.g., by the user device 102, the computing device 104, thesearch engine 118, and/or the language processing device 120 of FIG. 1).The computing device may send the modified search result to anotherdevice (e.g., the user device 102). The computing device may causeoutput of the modified search result on a display.

FIG. 8 shows a flowchart of a method 800 for modifying terminology. Atstep 810, a search query may be received by a computing device (e.g.,the user device 102, the computing device 104, the search engine 118,and/or the language processing device 120 of FIG. 1). The search querymay have one or more terms. The search query may comprise a userprofile. The user profile may be associated with the device sending therequest (e.g., the user device 102). The user profile may indicate oneor more characteristics and/or preferences associated with the user.

At step 820, the one or more search terms are sent to a computing device(e.g., by the user device 102, the computing device 104, the searchengine 118, and/or the language processing device 120 of FIG. 1). Thecomputing device may be configured to execute a search (e.g., the searchengine 118) by a computing device. (e.g., by the user device 102 and/orthe computing device 104). The search engine may send the search resultsto the computing device.

At step 830, a search result may be received by a computing device(e.g., by the user device 102 of FIG. 1). The search result may be basedon the one or more search terms. The search result may be based on auser profile associated with a user of a device (e.g., the user device102).

At step 840, a modified search result may be determined by the userdevice (e.g., by the user device 102). The user device may determine afirst term of the search result that may be contextually related to therequested term. The user device may modify the search result byreplacing the first term of the search result with the requested term.The user device may use NLP to determine that the first term of thesearch result that may be contextually related to the requested term.The user device may use an ontology to determine that the first term ofthe search result that may be contextually related to the requestedterm. The user device may use a user profile to determine that the firstterm of the search may be contextually related to the requested term.The user profile may indicate characteristics and/or preferences of auser of the user device.

At step 850, the modified search result may be output by a computingdevice (e.g., by the user device 102, the computing device 104, thesearch engine 118, and/or the language processing device 120 of FIG. 1).The computing device may send the modified search result to anotherdevice (e.g., the user device 102). The computing device may causeoutput of the modified search result on a display.

FIG. 9 shows a system 900 for modifying terminology. The user device102, the computing device 104, the search engine 108, or the languageprocessing device 120 of FIG. 1 may be a computer 901 as shown in FIG.9.

The computer 901 may comprise one or more processors 903, a systemmemory 912, and a bus 913 that couples various components of thecomputer 901 including the one or more processors 903 to the systemmemory 912. In the case of multiple processors 903, the computer 901 mayutilize parallel computing.

The bus 913 may comprise one or more of several possible types of busstructures, such as a memory bus, memory controller, a peripheral bus,an accelerated graphics port, and a processor or local bus using any ofa variety of bus architectures.

The computer 901 may operate on and/or comprise a variety of computerreadable media (e.g., non-transitory). Computer readable media may beany available media that is accessible by the computer 901 andcomprises, non-transitory, volatile and/or non-volatile media, removableand non-removable media. The system memory 912 has computer readablemedia in the form of volatile memory, such as random access memory(RAM), and/or non-volatile memory, such as read only memory (ROM). Thesystem memory 912 may store data such as search data 907 and/or programmodules such as operating system 905 and search software 906 that areaccessible to and/or are operated on by the one or more processors 903.

The computer 901 may also comprise other removable/non-removable,volatile/non-volatile computer storage media. The mass storage device904 may provide non-volatile storage of computer code, computer readableinstructions, data structures, program modules, and other data for thecomputer 901. The mass storage device 904 may be a hard disk, aremovable magnetic disk, a removable optical disk, magnetic cassettes orother magnetic storage devices, flash memory cards, CD-ROM, digitalversatile disks (DVD) or other optical storage, random access memories(RAM), read only memories (ROM), electrically erasable programmableread-only memory (EEPROM), and the like.

Any number of program modules may be stored on the mass storage device904. An operating system 905 and search software 906 may be stored onthe mass storage device 904. One or more of the operating system 905 andsearch software 906 (or some combination thereof) may comprise programmodules and the search software 906. Search data 907 may also be storedon the mass storage device 904. Search data 907 may be stored in any ofone or more databases known in the art. The databases may be centralizedor distributed across multiple locations within the network 915.

A user may enter commands and information into the computer 901 via aninput device (not shown). Such input devices comprise, but are notlimited to, a keyboard, pointing device (e.g., a computer mouse, remotecontrol), a microphone, a joystick, a scanner, tactile input devicessuch as gloves, and other body coverings, motion sensor, and the likeThese and other input devices may be connected to the one or moreprocessors 903 via a human machine interface 902 that is coupled to thebus 913, but may be connected by other interface and bus structures,such as a parallel port, game port, an IEEE 1394 Port (also known as aFirewire port), a serial port, network adapter 908, and/or a universalserial bus (USB).

A display device 911 may also be connected to the bus 913 via aninterface, such as a display adapter 909. It is contemplated that thecomputer 901 may have more than one display adapter 909 and the computer901 may have more than one display device 911. A display device 911 maybe a monitor, an LCD (Liquid Crystal Display), light emitting diode(LED) display, television, smart lens, smart glass, and/or a projector.In addition to the display device 911, other output peripheral devicesmay comprise components such as speakers (not shown) and a printer (notshown) which may be connected to the computer 901 via Input/OutputInterface 910. Any step and/or result of the methods may be output (orcaused to be output) in any form to an output device. Such output may beany form of visual representation, including, but not limited to,textual, graphical, animation, audio, tactile, and the like. The display911 and computer 901 may be part of one device, or separate devices.

The computer 901 may operate in a networked environment using logicalconnections to one or more remote computing devices 914 a,b,c. A remotecomputing device 914 a,b,c may be a personal computer, computing station(e.g., workstation), portable computer (e.g., laptop, mobile phone,tablet device), smart device (e.g., smartphone, smart watch, activitytracker, smart apparel, smart accessory), security and/or monitoringdevice, a server, a router, a network computer, a peer device, edgedevice or other common network node, and so on. Logical connectionsbetween the computer 901 and a remote computing device 914 a,b,c may bemade via a network 915, such as a local area network (LAN) and/or ageneral wide area network (WAN). Such network connections may be througha network adapter 908. A network adapter 908 may be implemented in bothwired and wireless environments. Such networking environments areconventional and commonplace in dwellings, offices, enterprise-widecomputer networks, intranets, and the Internet.

Application programs and other executable program components such as theoperating system 905 are shown herein as discrete blocks, although it isrecognized that such programs and components may reside at various timesin different storage components of the computing device 901, and areexecuted by the one or more processors 903 of the computer 901. Animplementation of search software 906 may be stored on or sent acrosssome form of computer readable media. Any of the disclosed methods maybe performed by processor-executable instructions embodied on computerreadable media.

While specific configurations have been described, it is not intendedthat the scope be limited to the particular configurations set forth, asthe configurations herein are intended in all respects to be possibleconfigurations rather than restrictive.

Unless otherwise expressly stated, it is in no way intended that anymethod set forth herein be construed as requiring that its steps beperformed in a specific order. Accordingly, where a method claim doesnot actually recite an order to be followed by its steps or it is nototherwise specifically stated in the claims or descriptions that thesteps are to be limited to a specific order, it is in no way intendedthat an order be inferred, in any respect. This holds for any possiblenon-express basis for interpretation, including: matters of logic withrespect to arrangement of steps or operational flow; plain meaningderived from grammatical organization or punctuation; the number or typeof configurations described in the specification.

It will be apparent to those skilled in the art that variousmodifications and variations may be made without departing from thescope or spirit. Other configurations will be apparent to those skilledin the art from consideration of the specification and practicedescribed herein. It is intended that the specification and describedconfigurations be considered as exemplary only, with a true scope andspirit being indicated by the following claims.

1. A method comprising, receiving, by a computing device from a userdevice, a search query; determining, based on the search query, a searchresult; determining a term of the search result that is contextuallyrelated to a term of the search query; determining, based on replacingthe term of the search result with the term of the search query, amodified search result; and causing output of the modified searchresult.
 2. The method of claim 1, wherein determining the term of thesearch result that is contextually related to the term of the searchquery comprises determining, by using natural language processing, theterm of the search result.
 3. The method of claim 1, wherein determiningthe term of the search result that is contextually related to the termof the search query comprises comparing, by using an ontology, the termof the search query to a plurality of ontology terms, wherein theontology indicates one or more related ontology terms for each term ofthe plurality of ontology terms.
 4. The method of claim 1, wherein thesearch result comprises at least one of a title, a snippet, or ahyperlink.
 5. The method of claim 1, determining, based on the searchquery, a search result further comprises: sending, to a computing deviceconfigured to execute a search, the search query, and receiving, fromthe computing device configured to execute the search, the searchresult.
 6. The method of claim 1, wherein determining a modified searchresult by replacing the term of the search result with the term of thesearch query is based on a user profile that indicates demographics of auser who submitted the search query.
 7. The method of claim 1, whereincausing output of the modified search result further comprisestransmitting, to the user device, the search result, the method furthercomprising: determining the term of the search result that iscontextually related to the term of the search query, determining themodified search result by replacing the term of the search result withthe term of the search query, and causing output of the modified searchresult.
 8. A method comprising, receiving, by a computing device from auser device, a search query and an indication of a user profileassociated with a user of the user device; determining, based on thesearch query and the user profile, a search result; determining a termof the search result that is contextually related to a term of thesearch query; determining, based on the user profile and replacing theterm of the search result with the term of the search query, a modifiedsearch result; and causing output of the modified search result.
 9. Themethod of claim 8, wherein determining the term of the search resultthat is contextually related to the term of the search query comprisesdetermining, by using natural language processing, the term of thesearch result.
 10. The method of claim 8, wherein determining the termof the search result that is contextually related to the term of thesearch query comprises comparing, by using an ontology, the term of thesearch query to a plurality of ontology terms, wherein the ontologyindicates one or more related ontology terms for each term of theplurality of ontology terms.
 11. The method of claim 8, wherein thesearch result comprises at least one of a title, a snippet, or ahyperlink.
 12. The method of claim 8, wherein the user profile indicatesdemographics of the user, and wherein determining, based on the searchquery and the user profile, the search result comprises determining,based on the demographics of the user, the search result.
 13. The methodof claim 8 determining, based on the search query and the user profile,the search result further comprises: sending, to a computing deviceconfigured to execute a search, the search query, and receiving, fromthe computing device configured to execute the search, the searchresult.
 14. The method of claim 8, further comprising sending, to theuser device, the search result, wherein user device is configured to:determine the term of the search result that is contextually related tothe term of the search query, determine, based on the user profile, themodified search result by replacing the term of the search result withthe term of the search query, and cause output of the modified searchresult.
 15. A method comprising, receiving, by a user device, a searchquery; sending, to a computing device configured to execute a search,the search query; receiving, from the computing device, a search result;determining, by the user device based on replacing a term of the searchresult with a contextually related term of the search query, a modifiedsearch result; and causing output of the modified search result.
 16. Themethod of claim 15, wherein determining, by the user device, themodified search result by replacing the term of the search result withthe contextually related term of the search query comprises determining,by using natural language processing, the term of the search result. 17.The method of claim 15, determining, by the user device, the modifiedsearch result by replacing the term of the search result with thecontextually related term of the search query comprises comparing, byusing an ontology, the term of the search query to a plurality ofontology terms, wherein the ontology indicates one or more relatedontology terms for each term of the plurality of ontology terms.
 18. Themethod of claim 15, wherein the search result comprises at least one ofa title, a snippet, or a hyperlink.
 19. The method of claim 15, whereincausing output of the modified search result comprises causing output ona display associated with the user device.
 20. The method of claim 15,wherein determining, by the user device, a modified search result byreplacing the term of the search result with the contextually relatedterm of the search query is based on a user profile that indicatesdemographics of a user associated with the user device.